package store.lunangangster.engine.impl.db;

import store.lunangangster.engine.impl.entity.Entity;

/**
 * 针对不同的类获取其相应的Sql语句
 *
 * @author cwk
 * @version 1.0
 */
public interface Statements {

  <T extends Class<? extends Entity>> String getSelectStatement(T clazz);

  <T extends Class<? extends Entity>> String getInsertStatement(T clazz);

  <T extends Class<? extends Entity>> String getBatchInsertStatement(T clazz);

  <T extends Class<? extends Entity>> String getUpdateStatement(T clazz);

  <T extends Class<? extends Entity>> String getDeleteStatement(T clazz);

  <T extends Class<? extends Entity>> String getStatement(T clazz, String prefix);

}
